package org.jprobe.reflect;

import java.lang.reflect.Method;
/**
 * This method explorer traverse Abstract classes to get all methods
 * which are declared as abstract, especially useful when an abstract
 * class inherits another abstract class containing protected abstract
 * methods or package level access abstract methods as well. Since there
 * is no point of defining private abstract methods, the explorer never
 * even tries to search for them.
 *
 * @author Hussain Al-Mutawa
 * @version 1.0
 */
public interface UnimplementedMethodsExplorerInterface {

	/**
	 * @return list of all abstract methods in the class and those inherited from superclasses
	 */
	public abstract Method[] getAbstractMethods();

	/**
	 * @return list of abstract methods` names
	 */
	public abstract String[] getAbstractMethodsNames();

}